package com.geilizu.dom.dao;

import com.geilizu.dom.dto.AbsentDto;
import com.geilizu.dom.dto.SearchByName;
import com.geilizu.dom.entity.Absent;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * (Absent)表数据库访问层
 *
 * @author makejava
 * @since 2022-07-12 18:27:16
 */
public interface AbsentDao {


    /**
     * 保存缺勤记录
     *
     * @param absent
     * @return
     */
    Integer save(@Param("absent") Absent absent);

    /**
     * 查询所有缺勤记录
     *
     * @param page
     * @param size
     * @return
     */
    List<AbsentDto> queryAll(@Param("page") Integer page, @Param("size") Integer size);

    /**
     * 查询所有缺勤数量
     *
     * @return
     */
    Long queryAllCount();

    /**
     * 根据宿舍名查询缺勤信息
     * @param search
     * @return
     */
    List<AbsentDto> queryByName(@Param("search") SearchByName search);

    /**
     * 根据宿舍名查询缺勤数量
     * @param search
     * @return
     */
    Long queryByNameCount(@Param("search") SearchByName search);
}

